perm filename BRIAN[1,DBL] blob sn#052973 filedate 1973-07-11 generic text, type T, neo UTF8
  (PROGN (LISPXPRIN1 (QUOTE "FILE CREATED ")
                     T)
         (LISPXPRIN1 (QUOTE "21-JUN-73 17:50:00")
                     T)
         (LISPXTERPRI T))
(DEFINEQ

(NEWV
  [NLAMBDA L
    (/SET (QUOTE SYNVARS)
          (UNION L SYNVARS))
    L])

(NEWF
  [NLAMBDA L
    (/SET (QUOTE SYNFNS)
          (UNION L SYNFNS))
    L])

(PLAN
  [LAMBDA (X)
    (SETQ PLAN (CONS (! X)
                     PLAN])
)
  (LISPXPRINT (QUOTE SYNFNS)
              T)
  (RPAQQ SYNFNS (NEWV NEWF PLAN))
  (LISPXPRINT (QUOTE SYNVARS)
              T)
  (RPAQQ SYNVARS (MAKE $PROTECTED $FINDVAR (FNS MAKESETQ)
                       (P (QSETUP SYNVARS))
                       (FNS DELEPROTECT ANDSPLIT PROTECT)))
  (RPAQQ MAKE NIL)
  (RPAQQ $PROTECTED (TUPLE))
  (RPAQQ $FINDVAR (TUPLE))
(DEFINEQ

(MAKESETQ
  [QLAMBDA (CONT ←X
                 ←A)
           (QPROG (←Y
                    ←B)
                  (QGOAL (CONT ←Y
                               $A)
                         APPLY $FINDVAR)
                  (PLAN (@ (SETQ $X $Y)))
                  (QDELETE (CONT $X ←B)
                           APPLY
                           (DELEPROTECT))
                  (QASSERT (CONT $X $A])
)
  (QSETUP SYNVARS)
(DEFINEQ

(DELEPROTECT
  (QLAMBDA ←X
           (QIF (QIN $X $PROTECTED)
               THEN (QFAIL))))

(ANDSPLIT
  (QLAMBDA (AND ←X
                ←←Y)
           (QPROG (←PROTECTED)
                  (QGOAL $X APPLY $GOALCLASS)
                  (PROTECT $X)
                  (QGOAL (AND $$Y)
                         APPLY $GOALCLASS))))

(PROTECT
  (QLAMBDA ←X
           (QMATCHQ ←PROTECTED
                    (TUPLE $X $$PROTECTED))))
)
STOP